
// 目的:致力于 将所有的接口请求 统一放在一个文件中  每次使用只需引入和使用
// 1. 所有的方法 都是ajax请求 返回Promise实例  => 对ajax进行二次封装

// 调用request()  会发送ajax请求 返回Promise实例
function request(url, params, type = "get") {
    return new Promise(function (resolve, reject) { //容器 => 放异步代码(加载时立即执行)
        $.ajax({
            type: type,
            url: url,
            data: {
                ...params,
            },
            dataType: "json",
            success: function (result) {
                resolve(result); // 返回 ajax请求的数据
            }
        })
    })
}



function isExist(params) {  // 传一个对象作为参数  

    /* var p = new Promise(function (resolve, reject) { //容器 => 放异步代码(加载时立即执行)
        $.ajax({
            url: "../php/isExist.php",
            data: {
                ...params,
            },
            dataType: "json",
            success: function (result) {
                // console.log("result", result);
                var { status, detail } = result;
                if (status) { // 可用
                    resolve(detail);
                } else {  //不可以
                    reject(detail);  //reject() 以抛错的形势改变状态的,传递数据
                }
            }
        })
    })
    return p; // 进行中(pending)状态的Promise实例   => ajax有结果之后才会改变 */

    //  调用request()  会发送ajax请求 返回Promise实例   => return p;
    return request("../php/isExist.php", params, "get");
}


function register(params) {
    return request("../php/register.php", params, "post");
}


function login(params) {  // 传一个对象作为参数  
    return request("../php/login.php", params, "post");
}


function searchGradeOrderLimit(params) {  // 传一个对象作为参数  
    return request("../php/searchGradeOrderLimit.php", params);
}